Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate RMNRemote and OffRamp #1360

Merged

Conversation

RyanRHall
Copy link
Collaborator

@RyanRHall RyanRHall commented Aug 23, 2024

Motivation

Remove the requirement for self-transmitted RMN blessings

Solution

Allow the commit DON to include RMN blessings at commitment time
This PR has a dependency on changes to chainlink-ccip

Copy link
Contributor

github-actions bot commented Aug 23, 2024

LCOV of commit 0e7f614 during Solidity Foundry #8012

Summary coverage rate:
  lines......: 97.6% (2152 of 2204 lines)
  functions..: 94.9% (408 of 430 functions)
  branches...: 93.4% (511 of 547 branches)

Files changed coverage rate: n/a

@RyanRHall RyanRHall marked this pull request as ready for review August 23, 2024 21:11
@RyanRHall RyanRHall changed the title Ccip 2455 off chain blessing off ramp contract changes Integrate IRMNRemote and offchain blessing verification Aug 23, 2024
@RyanRHall RyanRHall force-pushed the CCIP-2455-off-chain-blessing-off-ramp-contract-changes branch from 76d74d5 to e830e38 Compare August 26, 2024 13:16
@RyanRHall RyanRHall requested a review from a team as a code owner August 27, 2024 14:40
@RyanRHall RyanRHall force-pushed the CCIP-2455-off-chain-blessing-off-ramp-contract-changes branch from ce7ec8f to 3289314 Compare August 27, 2024 15:53
@RyanRHall RyanRHall requested a review from a team as a code owner August 27, 2024 15:53
@RyanRHall RyanRHall force-pushed the CCIP-2455-off-chain-blessing-off-ramp-contract-changes branch from e490109 to 8847c12 Compare August 27, 2024 16:18
@RyanRHall RyanRHall force-pushed the CCIP-2455-off-chain-blessing-off-ramp-contract-changes branch from 8847c12 to 5093308 Compare August 27, 2024 16:26
@RyanRHall RyanRHall force-pushed the CCIP-2455-off-chain-blessing-off-ramp-contract-changes branch from 5093308 to 3015456 Compare August 28, 2024 19:17
@RyanRHall RyanRHall requested a review from a team as a code owner August 28, 2024 19:17
@RyanRHall RyanRHall force-pushed the CCIP-2455-off-chain-blessing-off-ramp-contract-changes branch from f961f92 to bec52a5 Compare September 3, 2024 20:30
…CCIP-2455-off-chain-blessing-off-ramp-contract-changes
@RyanRHall RyanRHall force-pushed the CCIP-2455-off-chain-blessing-off-ramp-contract-changes branch 2 times, most recently from 441eef3 to 412e4a8 Compare September 4, 2024 17:29
makramkd and others added 2 commits September 4, 2024 15:47
## Motivation

Bootstrap P2P IDs are no longer needed in the OCR config in CCIPConfig.
See #1348's description for more details.

## Solution

Remove bootstrap P2P IDs from the OCR config in CCIPConfig.

## Related PRs
smartcontractkit/chainlink-ccip#89
@RyanRHall RyanRHall force-pushed the CCIP-2455-off-chain-blessing-off-ramp-contract-changes branch from 412e4a8 to cfd706e Compare September 4, 2024 19:49
@RyanRHall RyanRHall force-pushed the CCIP-2455-off-chain-blessing-off-ramp-contract-changes branch from cfd706e to 0e7f614 Compare September 4, 2024 20:05
@RyanRHall RyanRHall enabled auto-merge (squash) September 4, 2024 20:05
uint64 sourceChainSelector; // Remote source chain selector that the Merkle Root is scoped to
bytes32 merkleRoot; // Merkle root of a single remote source chain
Internal.MerkleRoot[] merkleRoots; // Collection of merkle roots per source chain to commit
IRMNV2.Signature[] rmnSignatures; // RMN signatures on the merkle roots
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we want to be accurate these aren't signatures on the merkle roots exactly. They're signatures on a particular RMN report that consists of "lane updates" that match the updates in the merkleRoots array above. Maybe reference RMNRemote.verify() for folks who want to see the exact message being signed.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you're right. If I make additional changes, I'll fix the comment :)

contracts/src/v0.8/ccip/rmn/RMNRemote.sol Show resolved Hide resolved
contracts/src/v0.8/ccip/interfaces/IRMNV2.sol Show resolved Hide resolved
bytes32 s;
}

function verify(Internal.MerkleRoot[] memory merkleRoots, Signature[] memory signatures) external view;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A basic docstring on the expected behavior of this function might be useful (e.g maybe for implementing mocks), i.e "verifies RMN signatures against provided MerkleRoot structs and reverts on invalid signatures"

@RyanRHall RyanRHall merged commit d2c51be into ccip-develop Sep 4, 2024
127 checks passed
@RyanRHall RyanRHall deleted the CCIP-2455-off-chain-blessing-off-ramp-contract-changes branch September 4, 2024 20:35
@cl-sonarqube-production
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants